#pragma once
#include <string>
#include <memory>
#include "CTableBase.h"
#include "CTableManager.h"
#include "CLogDatabaseMgr.h"
#include "CXDTFile.h"

class CTableCreater
{
public:
	CTableCreater(CTableManager* tableManager, CLogDatabaseMgr* dbManager);
	virtual ~CTableCreater() = default;
	
	virtual CTableBasePtr CreateTable(const std::string& tableJson, const std::string& defaultDb);
	virtual CTableBasePtr CreateTable(const CXDTFile& xdtFile);


private:
	CTableManager* m_tableManager;
	CLogDatabaseMgr* m_dbManager;
};

